1. Field
The embodiments discussed herein relate to robot positioning devices, systems, and methods.
2. Relevant Technology
Conventional robots may follow instructions to move an instrument of the robot to a goal location, or a series of goal locations in the process of performing a task.
In many instances, robots are installed in a particular operating environment to perform a task and the joint positions necessary to perform the task are taught to the robot manually. To perform the task, the robot then moves through the learned joint positions. In such instances, calibrating the robot may not be necessary, as each goal location of the robot and/or the robot's instruments may be set manually and may simply be correlated with a set of joint positions measured by the robot.
The movement of the robot may be programed, often using computer aided design (CAD) and/or computer aided manufacture (CAM), to perform tasks without manually teaching the robot each goal location. Programing the robot using CAD/CAM and the like may be generally described herein as programing offline.
To perform movements programed offline, the robot may execute the movement based on a kinematic model of the robot. As a general matter, the kinematic model may associate joint positions of the robot with locations of the robot, and more particularly, with locations of an instrument of the robot.
To move the robot to a desired location, a program may provide the robot with a goal location. Using the goal location and the current joint positions, the robot may access a native kinematic model to determine joint positions of the robot that will allow the robot to be located in the goal location. However, unless the robot has been calibrated, the kinematic model generally does not provide joint positions needed to accurately direct the robot to the goal location.
If the robot is not calibrated, the robot will often require manual fine-tuning to accurately perform movements for a task programed offline. However, if the robot is properly calibrated, the robot may accurately perform movements for the task without manual fine-tuning.
A calibration process may be performed to calibrate the kinematic model such that the model accurately represents observed behavior of the robot. In some instances, the robot may be calibrated by positioning the robot's joints in multiple calibration positions and externally measuring the location of the robot in the calibration positions. Using the joint positions and the associated location data observed during the calibration, the kinematic model may be updated to more accurately model the robot's location to the joint positions of the robot. Conventionally, few robots are calibrated.
Calibrating a robot may allow the robot to more efficiently adapt to changing tasks. For example, implementing product changes may be streamlined by updating the robots' manufacturing tasks offline. Furthermore, robots may be used to perform an ever-changing variety of tasks without significant downtime for manual programing or manually fine-tuning programs created offline.
Robot manufacturers may prevent the native kinematic model supplied internal to the robot to be changed/updated by the user. In some instances, limited parameters such as link lines and twist may be changed by the user. However, not all of the parameters may be changed. Even if all of the parameters could be changed, the kinematic model itself may not be updatable to a more advanced kinematic model.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.